import { getLocation, getWxaCode, logIn, request } from '../../utils/requestUtils';
import { userBehavior } from '../../behaviors/userBehavior'

Page({
  behaviors: [userBehavior],
  /**
   * 页面的初始数据
   */
  data: {
    userInfo:{}
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.wxlogin()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  },
  //微信登录
  async wxlogin() {
    // 获取微信授权码
    const code = await getWxaCode()
    console.log('code', code)
    // 通过授权码登录
    const result = await logIn({
      url: `/wx/login`,
      method: "POST",
      data: {
        code: code
      }
    })
    if (result.data.code == 200) {
      // this.getLocationHander()
      this.getInfo()
      this.getCartNum()
      wx.reLaunch({
        url: result.data.data.menus[0].path,
      })

    }
  },
  //获取购物车数量
  async getCartNum(){
    const result = await request({
      url: `/bus/customer/cart/cartNum`,
      method: "GET"
    })
    if(result.data.code == 200){
      this.setCarNum(result.data.data)
    }
  },
  // 获取用户信息放入缓存中
  async getInfo(){
    const result = await request({
      url: `/getInfo`,
      method: "GET"
    })
    wx.setStorageSync('user', result.data.user)
    wx.setStorageSync('roles', result.data.roles)
    this.setUserInfo(result.data.user)
  },
  //获取当前位置
  async getLocationHander() {
    const result = await getLocation()
    //登录成功后获取当前用户位置
    const location = {
      latitude: result.latitude,
      longitude: result.longitude
    }
    wx.setStorageSync('location', location)
  },
})
